[INFO] fetching crate duat-core 0.1.0...
[INFO] checking duat-core-0.1.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate duat-core 0.1.0 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate duat-core 0.1.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate duat-core 0.1.0
[INFO] finished tweaking crates.io crate duat-core 0.1.0
[INFO] tweaked toml for crates.io crate duat-core 0.1.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded str_indices v0.4.3
[INFO] [stderr]   Downloaded ropey v1.6.1
[INFO] [stderr]   Downloaded any-rope v1.2.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 525fe0be8072794c61e23a40b2f70ea5f8ec10b894814368e67fc9b4e2b0b911
[INFO] running `Command { std: "docker" "start" "-a" "525fe0be8072794c61e23a40b2f70ea5f8ec10b894814368e67fc9b4e2b0b911", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "525fe0be8072794c61e23a40b2f70ea5f8ec10b894814368e67fc9b4e2b0b911", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "525fe0be8072794c61e23a40b2f70ea5f8ec10b894814368e67fc9b4e2b0b911", kill_on_drop: false }`
[INFO] [stdout] 525fe0be8072794c61e23a40b2f70ea5f8ec10b894814368e67fc9b4e2b0b911
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 738c866340f955693a3860d5e5a885e0a326bb30a6717a1429ef21d2464e29b9
[INFO] running `Command { std: "docker" "start" "-a" "738c866340f955693a3860d5e5a885e0a326bb30a6717a1429ef21d2464e29b9", kill_on_drop: false }`
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]     Checking str_indices v0.4.3
[INFO] [stderr]     Checking any-rope v1.2.5
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking ropey v1.6.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking duat-core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `result_option_inspect` has been stable since 1.76.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     result_option_inspect,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `result_option_inspect` has been stable since 1.76.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     result_option_inspect,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `InnerTags` is never used
[INFO] [stdout]   --> src/text/mod.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | trait InnerTags: std::fmt::Debug + Default + Sized + Clone {
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/text/iter.rs:593:15
[INFO] [stdout]     |
[INFO] [stdout] 593 |     Excluding(&'a [Cursor]),
[INFO] [stdout]     |     --------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 593 |     Excluding(()),
[INFO] [stdout]     |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/text/iter.rs:594:17
[INFO] [stdout]     |
[INFO] [stdout] 594 |     NotOnLineOf(&'a [Cursor]),
[INFO] [stdout]     |     ----------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 594 |     NotOnLineOf(()),
[INFO] [stdout]     |                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `InnerTags` is never used
[INFO] [stdout]   --> src/text/mod.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | trait InnerTags: std::fmt::Debug + Default + Sized + Clone {
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/text/iter.rs:593:15
[INFO] [stdout]     |
[INFO] [stdout] 593 |     Excluding(&'a [Cursor]),
[INFO] [stdout]     |     --------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 593 |     Excluding(()),
[INFO] [stdout]     |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/text/iter.rs:594:17
[INFO] [stdout]     |
[INFO] [stdout] 594 |     NotOnLineOf(&'a [Cursor]),
[INFO] [stdout]     |     ----------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 594 |     NotOnLineOf(()),
[INFO] [stdout]     |                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.57s
[INFO] running `Command { std: "docker" "inspect" "738c866340f955693a3860d5e5a885e0a326bb30a6717a1429ef21d2464e29b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "738c866340f955693a3860d5e5a885e0a326bb30a6717a1429ef21d2464e29b9", kill_on_drop: false }`
[INFO] [stdout] 738c866340f955693a3860d5e5a885e0a326bb30a6717a1429ef21d2464e29b9
[INFO] checking duat-core-0.1.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate duat-core 0.1.0 into /workspace/builds/worker-3-tc2/source
[INFO] validating manifest of crates.io crate duat-core 0.1.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate duat-core 0.1.0
[INFO] finished tweaking crates.io crate duat-core 0.1.0
[INFO] tweaked toml for crates.io crate duat-core 0.1.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ab4302bad6e46641ba5b8fa058f1044aa90966753c2db279e3586762aaf53013
[INFO] running `Command { std: "docker" "start" "-a" "ab4302bad6e46641ba5b8fa058f1044aa90966753c2db279e3586762aaf53013", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ab4302bad6e46641ba5b8fa058f1044aa90966753c2db279e3586762aaf53013", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab4302bad6e46641ba5b8fa058f1044aa90966753c2db279e3586762aaf53013", kill_on_drop: false }`
[INFO] [stdout] ab4302bad6e46641ba5b8fa058f1044aa90966753c2db279e3586762aaf53013
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 794e458a636d316b0edbac754b062af00385e26e6a5e28f1115c7ccd8dde101f
[INFO] running `Command { std: "docker" "start" "-a" "794e458a636d316b0edbac754b062af00385e26e6a5e28f1115c7ccd8dde101f", kill_on_drop: false }`
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking str_indices v0.4.3
[INFO] [stderr]     Checking any-rope v1.2.5
[INFO] [stderr]     Checking ropey v1.6.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking duat-core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/history.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |         self.start..self.taken_end()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/history.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         self.start..self.added_end()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/history.rs:191:45
[INFO] [stdout]     |
[INFO] [stdout] 191 |             for change in &mut self.changes[changes_after..] {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/history.rs:200:20
[INFO] [stdout]     |
[INFO] [stdout] 200 |             .drain(first_index..last_index)
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/history.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |         start_byte..bytes.nth(end - start - 1).unwrap_or(text.len())
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/history.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |         start_byte..start_byte
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/input/multi_cursor.rs:410:21
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let range = self.cursor.caret.char()..self.cursor.caret.char();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/position.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |             anchor.char..self.caret.char
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/position.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |             self.caret.char..anchor.char
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/session.rs:621:47
[INFO] [stdout]     |
[INFO] [stdout] 621 |                     let slice = &read_windows[window_index..=window_index];
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/session.rs:664:47
[INFO] [stdout]     |
[INFO] [stdout] 664 |                     let slice = &read_windows[window_index..=window_index];
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:141:45
[INFO] [stdout]     |
[INFO] [stdout] 141 |             word_chars: WordChars::new(vec!['A'..='Z', 'a'..='z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:141:56
[INFO] [stdout]     |
[INFO] [stdout] 141 |             word_chars: WordChars::new(vec!['A'..='Z', 'a'..='z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:141:67
[INFO] [stdout]     |
[INFO] [stdout] 141 |             word_chars: WordChars::new(vec!['A'..='Z', 'a'..='z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:141:78
[INFO] [stdout]     |
[INFO] [stdout] 141 |             word_chars: WordChars::new(vec!['A'..='Z', 'a'..='z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:236:45
[INFO] [stdout]     |
[INFO] [stdout] 236 |             word_chars: WordChars::new(vec!['a'..='z', 'A'..='Z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:236:56
[INFO] [stdout]     |
[INFO] [stdout] 236 |             word_chars: WordChars::new(vec!['a'..='z', 'A'..='Z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:236:67
[INFO] [stdout]     |
[INFO] [stdout] 236 |             word_chars: WordChars::new(vec!['a'..='z', 'A'..='Z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:236:78
[INFO] [stdout]     |
[INFO] [stdout] 236 |             word_chars: WordChars::new(vec!['a'..='z', 'A'..='Z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:121:34
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 let skip_range = (start + skip)..(start + 2 * skip);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let new = old.start..new_end;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:209:29
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let removal_range = (removal_start + skip)..(removal_end + skip).min(self.rope.measure());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:420:34
[INFO] [stdout]     |
[INFO] [stdout] 420 |                 let skip_range = (from + next_skip)..(from + 2 * next_skip);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:427:29
[INFO] [stdout]     |
[INFO] [stdout] 427 |                 let range = (first_measure + prev_skip)..(from + prev_skip);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:436:25
[INFO] [stdout]     |
[INFO] [stdout] 436 |             let range = (first_measure + total_skip)..(first_measure + 2 * total_skip);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:532:36
[INFO] [stdout]     |
[INFO] [stdout] 532 |     let slice = rope.measure_slice(pos..pos, usize::cmp);
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:548:27
[INFO] [stdout]     |
[INFO] [stdout] 548 |     rope.remove_inclusive(pos..pos, usize::cmp);
[INFO] [stdout]     |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:572:45
[INFO] [stdout]     |
[INFO] [stdout] 572 |             let range = TagRange::From(tag, bounded.start..);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:593:41
[INFO] [stdout]     |
[INFO] [stdout] 593 |             Some(TagRange::Bounded(tag, start..end))
[INFO] [stdout]     |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:595:54
[INFO] [stdout]     |
[INFO] [stdout] 595 |             allow_from.then_some(TagRange::From(tag, start..))
[INFO] [stdout]     |                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:606:49
[INFO] [stdout]     |
[INFO] [stdout] 606 |             Some(TagRange::Bounded(range.tag(), start..end))
[INFO] [stdout]     |                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:627:32
[INFO] [stdout]     |
[INFO] [stdout] 627 |                     *bounded = start..end
[INFO] [stdout]     |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:634:29
[INFO] [stdout]     |
[INFO] [stdout] 634 |                     *from = from.start.saturating_add_signed(amount)..
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:689:13
[INFO] [stdout]     |
[INFO] [stdout] 689 |         if (start..until.end).count() >= min_to_keep {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:690:48
[INFO] [stdout]     |
[INFO] [stdout] 690 |             let range = TagRange::Bounded(tag, start..until.end);
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:749:13
[INFO] [stdout]     |
[INFO] [stdout] 749 |             start..end
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:779:13
[INFO] [stdout]     |
[INFO] [stdout] 779 |             Marker(self.0)..Marker(self.0 + 1)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/mod.rs:128:28
[INFO] [stdout]     |
[INFO] [stdout] 128 |         self.replace_range(pos..pos, str);
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/mod.rs:138:28
[INFO] [stdout]     |
[INFO] [stdout] 138 |         self.replace_range(start..end, &change.taken_text);
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/mod.rs:361:30
[INFO] [stdout]     |
[INFO] [stdout] 361 |             .transform_range(end..end, end + text.len_chars());
[INFO] [stdout]     |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/history.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |         self.start..self.taken_end()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/history.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         self.start..self.added_end()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/history.rs:191:45
[INFO] [stdout]     |
[INFO] [stdout] 191 |             for change in &mut self.changes[changes_after..] {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/history.rs:200:20
[INFO] [stdout]     |
[INFO] [stdout] 200 |             .drain(first_index..last_index)
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/history.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |         start_byte..bytes.nth(end - start - 1).unwrap_or(text.len())
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/history.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |         start_byte..start_byte
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/input/multi_cursor.rs:410:21
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let range = self.cursor.caret.char()..self.cursor.caret.char();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/position.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |             anchor.char..self.caret.char
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/position.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |             self.caret.char..anchor.char
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/session.rs:621:47
[INFO] [stdout]     |
[INFO] [stdout] 621 |                     let slice = &read_windows[window_index..=window_index];
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/session.rs:664:47
[INFO] [stdout]     |
[INFO] [stdout] 664 |                     let slice = &read_windows[window_index..=window_index];
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:141:45
[INFO] [stdout]     |
[INFO] [stdout] 141 |             word_chars: WordChars::new(vec!['A'..='Z', 'a'..='z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:141:56
[INFO] [stdout]     |
[INFO] [stdout] 141 |             word_chars: WordChars::new(vec!['A'..='Z', 'a'..='z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:141:67
[INFO] [stdout]     |
[INFO] [stdout] 141 |             word_chars: WordChars::new(vec!['A'..='Z', 'a'..='z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:141:78
[INFO] [stdout]     |
[INFO] [stdout] 141 |             word_chars: WordChars::new(vec!['A'..='Z', 'a'..='z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:236:45
[INFO] [stdout]     |
[INFO] [stdout] 236 |             word_chars: WordChars::new(vec!['a'..='z', 'A'..='Z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:236:56
[INFO] [stdout]     |
[INFO] [stdout] 236 |             word_chars: WordChars::new(vec!['a'..='z', 'A'..='Z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:236:67
[INFO] [stdout]     |
[INFO] [stdout] 236 |             word_chars: WordChars::new(vec!['a'..='z', 'A'..='Z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/text/cfg.rs:236:78
[INFO] [stdout]     |
[INFO] [stdout] 236 |             word_chars: WordChars::new(vec!['a'..='z', 'A'..='Z', '0'..='9', '_'..='_']),
[INFO] [stdout]     |                                                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:121:34
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 let skip_range = (start + skip)..(start + 2 * skip);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let new = old.start..new_end;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:209:29
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let removal_range = (removal_start + skip)..(removal_end + skip).min(self.rope.measure());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:420:34
[INFO] [stdout]     |
[INFO] [stdout] 420 |                 let skip_range = (from + next_skip)..(from + 2 * next_skip);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:427:29
[INFO] [stdout]     |
[INFO] [stdout] 427 |                 let range = (first_measure + prev_skip)..(from + prev_skip);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:436:25
[INFO] [stdout]     |
[INFO] [stdout] 436 |             let range = (first_measure + total_skip)..(first_measure + 2 * total_skip);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:532:36
[INFO] [stdout]     |
[INFO] [stdout] 532 |     let slice = rope.measure_slice(pos..pos, usize::cmp);
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:548:27
[INFO] [stdout]     |
[INFO] [stdout] 548 |     rope.remove_inclusive(pos..pos, usize::cmp);
[INFO] [stdout]     |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:572:45
[INFO] [stdout]     |
[INFO] [stdout] 572 |             let range = TagRange::From(tag, bounded.start..);
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:593:41
[INFO] [stdout]     |
[INFO] [stdout] 593 |             Some(TagRange::Bounded(tag, start..end))
[INFO] [stdout]     |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:595:54
[INFO] [stdout]     |
[INFO] [stdout] 595 |             allow_from.then_some(TagRange::From(tag, start..))
[INFO] [stdout]     |                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:606:49
[INFO] [stdout]     |
[INFO] [stdout] 606 |             Some(TagRange::Bounded(range.tag(), start..end))
[INFO] [stdout]     |                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:627:32
[INFO] [stdout]     |
[INFO] [stdout] 627 |                     *bounded = start..end
[INFO] [stdout]     |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:634:29
[INFO] [stdout]     |
[INFO] [stdout] 634 |                     *from = from.start.saturating_add_signed(amount)..
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:689:13
[INFO] [stdout]     |
[INFO] [stdout] 689 |         if (start..until.end).count() >= min_to_keep {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:690:48
[INFO] [stdout]     |
[INFO] [stdout] 690 |             let range = TagRange::Bounded(tag, start..until.end);
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:749:13
[INFO] [stdout]     |
[INFO] [stdout] 749 |             start..end
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/tags/mod.rs:779:13
[INFO] [stdout]     |
[INFO] [stdout] 779 |             Marker(self.0)..Marker(self.0 + 1)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/mod.rs:128:28
[INFO] [stdout]     |
[INFO] [stdout] 128 |         self.replace_range(pos..pos, str);
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/mod.rs:138:28
[INFO] [stdout]     |
[INFO] [stdout] 138 |         self.replace_range(start..end, &change.taken_text);
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/text/mod.rs:361:30
[INFO] [stdout]     |
[INFO] [stdout] 361 |             .transform_range(end..end, end + text.len_chars());
[INFO] [stdout]     |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `result_option_inspect` has been stable since 1.76.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     result_option_inspect,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `result_option_inspect` has been stable since 1.76.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     result_option_inspect,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `InnerTags` is never used
[INFO] [stdout]   --> src/text/mod.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | trait InnerTags: std::fmt::Debug + Default + Sized + Clone {
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/text/iter.rs:593:15
[INFO] [stdout]     |
[INFO] [stdout] 593 |     Excluding(&'a [Cursor]),
[INFO] [stdout]     |     --------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 593 |     Excluding(()),
[INFO] [stdout]     |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/text/iter.rs:594:17
[INFO] [stdout]     |
[INFO] [stdout] 594 |     NotOnLineOf(&'a [Cursor]),
[INFO] [stdout]     |     ----------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 594 |     NotOnLineOf(()),
[INFO] [stdout]     |                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeBounds` trait bound in public function
[INFO] [stdout]    --> src/text/mod.rs:441:29
[INFO] [stdout]     |
[INFO] [stdout] 441 | pub fn get_ends(range: impl std::ops::RangeBounds<usize>, max: usize) -> (usize, usize) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `InnerTags` is never used
[INFO] [stdout]   --> src/text/mod.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | trait InnerTags: std::fmt::Debug + Default + Sized + Clone {
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]   --> src/text/cfg.rs:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn new(ranges: Vec<std::ops::RangeInclusive<char>>) -> Self {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/text/iter.rs:593:15
[INFO] [stdout]     |
[INFO] [stdout] 593 |     Excluding(&'a [Cursor]),
[INFO] [stdout]     |     --------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 593 |     Excluding(()),
[INFO] [stdout]     |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/text/iter.rs:594:17
[INFO] [stdout]     |
[INFO] [stdout] 594 |     NotOnLineOf(&'a [Cursor]),
[INFO] [stdout]     |     ----------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 594 |     NotOnLineOf(()),
[INFO] [stdout]     |                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 45 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `duat-core` (lib) due to 2 previous errors; 45 warnings emitted
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "794e458a636d316b0edbac754b062af00385e26e6a5e28f1115c7ccd8dde101f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "794e458a636d316b0edbac754b062af00385e26e6a5e28f1115c7ccd8dde101f", kill_on_drop: false }`
[INFO] [stdout] 794e458a636d316b0edbac754b062af00385e26e6a5e28f1115c7ccd8dde101f
